Information in an OPC Alarms and Events server is organized in a tree hierarchy (process space), where the branch nodes (event areas) serve organizational purposes (similar to folders in a file system), while the leaf nodes actually generate events (similar to files in a file system) – they are called event sources. Each node has a “short” name that is unique among other branches or leaves under the same parent branch (or a root). Event sources can be fully identified using a “fully qualified” source name, which determines the OPC event source without a need to further qualify it with its position in the tree. OPC event source may look a process tag (e.g. “FIC101”, or “Device1.Block101”), or possibly a device or subsystem identification; their syntax and meaning is fully determined by the particular OPC server they are coming from.
QuickOPC gives you methods to traverse through the address space information and obtain the information available there. It is also possible to filter the returned nodes by a server specific filter string.
If you want to retrieve a list of all event areas under a given parent area (or under a root) of the OPC server, call the BrowseAreas method. You will receive an AENodeElementCollection object. Each AENodeElement contains information gathered about one sub-area node, such as its name, or an indication whether it has children.
Similarly, if you want to retrieve a list of event sources under a given parent area (or under a root) of the OPC server, call the BrowseSources method. You will also receive back an AENodeElementCollection object, this time containing the event sources only. You can find information such as the fully qualified source name from the AENodeElement of any event source, extract it and pass it further to methods like GetConditionState or SubscribeEvents.
QuickOPC.NET: The most generic address space browsing method is BrowseNodes. It combines the functionality of BrowseAreas and BrowseSources, and it also allows the widest range of filtering options by passing in an argument of type AEBrowseParameters.